package com.cmc.cloud.cmclink.doc.vo.multimodaltransport.multiagentinfo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.*;

/**
 * 多式联运代理信息维护 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 * @author codegen
 */
@Data
public class MultiAgentInfoBaseVO {

    @Schema(description = "装货港", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "blno.polcode.notblank")
    @Length(max = 5, message = "blno.polcode.length")
    private String polCode;

    @Schema(description = "卸货港", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "blno.podcode.notblank")
    @Length(max = 5, message = "blno.podcode.length")
    private String podCode;

    @Schema(description = "Barge Maint. Reminder Time（hour）")
    private Integer reminderTime;

        @Schema(description = "代理代码 同csm_code 公司客商主数据代码", requiredMode = Schema.RequiredMode.REQUIRED)
        @NotBlank(message = "{AgentOperationPortBaseVO.agentCode.NotBlank}")
	@Length(max = 50,message = "{multiagentinfo.agentcode.length}")
    private String agentCode;
	
        @Schema(description = "代理类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
        @NotBlank(message = "{AgentOperationPortBaseVO.agentCode.NotBlank}")
	@Length(max = 20,message = "{multiagentinfo.agenttype.length}")
    private String agentType;
	
        @Schema(description = "进口/出口类型 IM EX", requiredMode = Schema.RequiredMode.REQUIRED, example = "IM")
        @NotBlank(message = "{BlnoLocalChargeReqVO.imExType.notBlank}")
	@Length(max = 2,message = "{multiagentinfo.imextype.length}")
    private String imExType;
	
        @Schema(description = "有效状态", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean usable;
	
        @Schema(description = "邮箱地址 逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED)
	@Length(max = 500,message = "{multiagentinfo.emailaddresses.length}")
    private String emailAddresses;
	
        @Schema(description = "邮件备注 邮件正文需要附带内容")
	@Length(max = 500,message = "{multiagentinfo.notice.length}")
    private String notice;
	
        @Schema(description = "附件代码 逗号分隔 发送邮件时需要发送的附件内容")
	@Length(max = 200,message = "{multiagentinfo.attachfilecode.length}")
    private String attachFileCode;

}
